<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<script type="text/javascript">
    //第一种
//    Array.prototype.unique1 = function(){
//        var res = [this[0]];
//        for(var i = 1; i < this.length; i++){
//            var repeat = false;
//            for(var j = 0; j < res.length; j++){
//                if(this[i] == res[j]){
//                    repeat = true;
//                    break;
//                }
//            }
//            if(!repeat){
//                res.push(this[i]);
//            }
//        }
//        return res;
//    };
//    var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0];
//    document.write(arr.unique1());

    //第二种
//    var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
//    //定义一个新的数组
//    var s = [];
//    //遍历数组
//    for(var i = 0;i<arr.length;i++){
//        if(s.indexOf(arr[i]) == -1){  //判断在s数组中是否存在，不存在则push到s数组中
//            s.push(arr[i]);
//        }
//    }
//    document.write(s);

    //第三种

//    var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
//     function unique1(arr){
//         var newArr = [];//新建一个数组
//         for(var i=0,len=arr.length;i<len;i++){
//             if(newArr.indexOf(arr[i]) == -1){//若新数组中未包含该项则将其存入新数组
//                newArr.push(arr[i]);
//             }
//         }
//         return newArr;
//     }
//    document.write(unique1(arr));

    //第四种
//    var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
//    function unique3(arr){
//        arr.sort();
//        var newArr = [arr[0]];
//        for(var i=1, len=arr.length; i<len; i++){
//            if(arr[i] !== newArr[newArr.length-1]){
//                newArr.push(arr[i]);
//            }
//        }
//        return newArr;
//    }
//    document.write(unique3(arr))

    //第五种
//    var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
//    function unique4(arr){
//        var newArr = [];
//        for(var i=0,len=arr.length; i<len;i++){
//            for(var j=i+1;j<len;j++){
//                if(arr[i] === arr[j]){//获取没重复的最右一值放入新数组
//                    ++i;}
//            }
//            newArr.push(arr[i]);
//        }
//        return newArr;
//    }
//    document.write(unique4(arr))



//    --------------------------------------------------------------------------

    //数组排序
    //第一种
    //    var arr = new Array(1,8,7,6);
    //    arr.sort(function(a,b){
    //        return a-b});
    //    document.write(arr.join());

    //第二种   //冒泡排序
    //    var array = new Array(1,2,3,7,8,8,77,6841);
    //    function Sort(array){
    //        var i = 0, len = array.length, j, d; for(; i<len; i++){
    //            for(j=0; j<len; j++){
    //                if(array[i] < array[j]){
    //                    d = array[j]; array[j] = array[i]; array[i] = d;
    //                }
    //            }
    //        }
    //        return array;
    //    }
    //    document.write(Sort(array));

    //第三种   插入排序

    function Sort(array){
        var array = [4,324,5,6,7,7,2,1,45,4,6,7];
        var i = 1, j, temp, key, len = array.length;
        for(; i < len; i++){
            temp = j = i; key = array[j]; while(--j > -1){
                if(array[j] > key){ array[j+1] = array[j]; }else{ break;
                }
            }
            array[j+1] = key;
        }
        return array;
    }

    document.write(Sort());





</script>

</body>
</html>